package main

/*
反转字符串
编写一个函数，其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间，你必须原地修改输入数组。
*/

//暴力
//func reverseString(s []byte)  {
//	var a byte
//	for i:=0;i<len(s)/2;i++{
//		a = s[len(s)-1-i]
//		s[len(s)-1-i] = s[i]
//		s[i] = a
//	}
//}

//双指针
func reverseString(s []byte) {
	left, right := 0, len(s)-1
	for left <= right {
		s[left], s[right] = s[right], s[left]
		left++
		right--
	}
}

func main() {
	s := []byte{'h', 'e', 'l', 'l', 'o'}

	reverseString(s)
}
